package com.yz.design.settlement;

/**
 * @ClassName ICitySiteSettlementService
 * @Description 城市站之间结算具有的服务
 * @Author 广长
 * @Date 2020/7/10
 * @Version V1.0
 **/
public interface ICitySiteSettlementService {


    /**
     * @Description: 付钱
     * @Author: 广长
     * @Date: 2020/7/10
     * @Param context: 结算上下文
     * @Return: void
     */
    void payTo(SettlementContext context);

    /**
     * @Description: 收钱
     * @Author: 广长
     * @Date: 2020/7/10
     * @Param context: 结算上下文
     * @Return: void
     */
    void receiveFrom(SettlementContext context);

    /**
     * @Description: 撤销付款
     * @Author: 广长
     * @Date: 2020/7/10
     * @Param context: 结算上下文
     * @Return: void
     */
    void cancelPayTo(SettlementContext context);

    /**
     * @Description: 撤销收款
     * @Author: 广长
     * @Date: 2020/7/10
     * @Param context: 结算上下文
     * @Return: void
     */
    void cancelReceiveFrom(SettlementContext context);
}
